package cn.edu.wdu.gaojie.jdbc;

import java.sql.*;

/**
 * @author gaojie  gao4433@qq.com
 * @Description JDBC 之【查询】
 * @date 2021/12/2 14:17
 * @since 1.8
 */
public class AppJdbcSelect {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1. 加载 MySQl 驱动类
        Class.forName("com.mysql.jdbc.Driver");

        //协议/主机名/端口/数据库
        String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
        String userName = "root";
        String passWord = "778874315";
        //2. 获取连接
        Connection connection = DriverManager.getConnection(url, userName, passWord);

        //3. 创建【陈述句对象】
        Statement statement = connection.createStatement();

        //4. 执行查询
        //ORDER BY id       按 id 排序，默认升序
        //ORDER BY id ASC   按 id 升序排序
        //ORDER BY id DESC  按 id 降序排序
        String sql = "SELECT id,username FROM `user` ORDER BY id";
        ResultSet set = statement.executeQuery(sql);

        //5. 获取数据
        /**
         +----+----------+
         | id | username |
         +----+----------+
         |  1 | Jack     |  <----使用 next() 方法后光标移动
         |  2 | Tom      |
         |  3 | timor    |
         |  4 | Lusi     |
         +----+----------+

         //将光标从当前位置向前移动一行
         //ResultSet游标最初位于第一行之前 ；
         第一次调用next方法使第一行成为当前行；
         第二次调用使第二行成为当前行，依此类推。
         set.next();
         // 参数 1 代表的是第1列
         int id1 = set.getInt(1);
         // 参数 2 代表的是第 2 列
         String userName1 = set.getString(2);
         **/
        while (set.next()) {
            System.out.println(set.getInt(1) + "   " + set.getString(2));
        }

    }
}
